package com.smbms.util;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpSession;
import java.io.File;
import java.io.IOException;
import java.util.UUID;

public class FileUtil {

    /**
     * 上传文件
     */
    public static String upload(MultipartFile multipartFile, HttpSession session) throws IOException {
        // /获取当前项目部署的位置，upload/并拼接字符 upload/
        String path = session.getServletContext().getRealPath("/upload");
        File directory = new File(path);
        //文件夹不存在时创建
        if(!directory.exists()){
            directory.mkdirs();
        }

        //获取原文件名
        String filename = multipartFile.getOriginalFilename();
        //截取文件后缀
        String suffix = filename.substring(filename.lastIndexOf("."));
        //UUID生成文件前缀
        String prefix = UUID.randomUUID().toString();
        //最终存储的文件名
        String finalName = prefix+suffix;

        //上传的文件位置
        File file = new File(path+ "/" +finalName);
        //将上传的文件存储到指定位置
        multipartFile.transferTo(file);

        return finalName;
    }
}
